package org.example.product.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 产品对象 mall_product
 *
 * @author 小孟微信：xiaomengcode
 * @date 2024-03-21
 */
public class Product extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 产品ID */
    private Long productId;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String name;

    /** 产品编码 */
    @Excel(name = "产品编码")
    private String code;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;
    private String contractType;
    /** 产品类型 */
    private Integer type;

    /** 产品分类id */
    private String categoryId;

    /** 产品分类*/
    private String categoryName;

    /** 标签 */
    private String tag;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal price;

    /** 产品划线价 */
    private BigDecimal linePrice;

    /** 供应商价格 */
    private BigDecimal supplierPrice;

    /** 缩略图 */
    @Excel(name = "缩略图")
    private String img;

    /** 产品规格 */
    private String specType;

    /** 库存 */
    private Integer stock;

    /** 浏览次数 */
    private Long views;

    /** 真实销量 */
    private Long sales;

    /** 虚构销量 */
    private Long fictiSales;

    /** 产品排序 */
    private Long sort;

    /** 状态 */
    private Integer status;

    /** 审核备注 */
    private String auditRemark;

    /** 删除标志 */
    private String delFlag;

    /**供应商Id*/
    private Long supplierId;

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public String getContractType() {
        return contractType;
    }

    public void setContractType(String contractType) {
        this.contractType = contractType;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setType(Integer type)
    {
        this.type = type;
    }

    public Integer getType()
    {
        return type;
    }
    public void setCategoryId(String categoryId)
    {
        this.categoryId = categoryId;
    }

    public String getCategoryId()
    {
        return categoryId;
    }
    public void setTag(String tag)
    {
        this.tag = tag;
    }

    public String getTag()
    {
        return tag;
    }
    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }
    public void setLinePrice(BigDecimal linePrice)
    {
        this.linePrice = linePrice;
    }

    public BigDecimal getLinePrice()
    {
        return linePrice;
    }
    public void setSupplierPrice(BigDecimal supplierPrice)
    {
        this.supplierPrice = supplierPrice;
    }

    public BigDecimal getSupplierPrice()
    {
        return supplierPrice;
    }
    public void setImg(String img)
    {
        this.img = img;
    }

    public String getImg()
    {
        return img;
    }
    public void setSpecType(String specType)
    {
        this.specType = specType;
    }

    public String getSpecType()
    {
        return specType;
    }
    public void setStock(Integer stock)
    {
        this.stock = stock;
    }

    public Integer getStock()
    {
        return stock;
    }
    public void setViews(Long views)
    {
        this.views = views;
    }

    public Long getViews()
    {
        return views;
    }
    public void setSales(Long sales)
    {
        this.sales = sales;
    }

    public Long getSales()
    {
        return sales;
    }
    public void setFictiSales(Long fictiSales)
    {
        this.fictiSales = fictiSales;
    }

    public Long getFictiSales()
    {
        return fictiSales;
    }
    public void setSort(Long sort)
    {
        this.sort = sort;
    }

    public Long getSort()
    {
        return sort;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setAuditRemark(String auditRemark)
    {
        this.auditRemark = auditRemark;
    }

    public String getAuditRemark()
    {
        return auditRemark;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("productId", getProductId())
                .append("name", getName())
                .append("code", getCode())
                .append("unit", getUnit())
                .append("type", getType())
                .append("categoryId", getCategoryId())
                .append("tag", getTag())
                .append("price", getPrice())
                .append("linePrice", getLinePrice())
                .append("supplierPrice", getSupplierPrice())
                .append("img", getImg())
                .append("specType", getSpecType())
                .append("stock", getStock())
                .append("views", getViews())
                .append("sales", getSales())
                .append("fictiSales", getFictiSales())
                .append("sort", getSort())
                .append("status", getStatus())
                .append("auditRemark", getAuditRemark())
                .append("delFlag", getDelFlag())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .toString();
    }
}
